DOM Based XSS
参考
/mrsekut-book-4797393165/453 (4.17 JavaScriptの問題) ~
そんなにちゃんと読んでないmrsekut.icon
#WIP
他2つのXSSはserver側の不備が原因だが、DOM Based XSSはclient側(JS)に不備がある
あるある原因
URLの#
e.g. >http://example.jp/4h/4h-001.html#<img src=/ onerror=alert (1)>
dangerouslySetInnerHTML?
jQueryのhtml()
Element.innerHTML?
document.write?
https://gihyo.jp/dev/serial/01/javascript-security/0006
https://gihyo.jp/dev/serial/01/javascript-security/0007
https://gihyo.jp/dev/serial/01/javascript-security/0008
クライアントのjsで実行される
SourceとSinkがある
source (XSS)
sink (XSS)
mXSS
Mutation-based XSS
https://hasegawa.hatenablog.com/entry/20140508/p1
https://dl.acm.org/doi/10.1145/2508859.2516723
https://www.slideshare.net/x00mario/the-innerhtml-apocalypse
http://www.thespanner.co.uk/2014/05/06/mxss/
Script Gadgets
https://medium.com/inet-lab/script-gadgetsのデモを作成してみた-aed15357e09b
https://github.com/google/security-research-pocs/tree/master/script-gadgets
対策
Trusted Types
他の対策手法
今も使われているのかは知らないmrsekut.icon
テイント解析
DexterJS